#include <REGX52.H>
#include "Timer0.h"
#include "Delay.h"
#include "LCD1602.h"

unsigned char Sec=55, Min=59, Hour=23;

void Timer0_Routine() interrupt 1{
	// 保留状态,数值不丢失
	static unsigned int T0Count = 0;
	//P2_0=0;
	TH0=0xFC;
	TL0=0x18;
	++T0Count;
	if(T0Count >= 1000){
		T0Count = 0;
		++Sec;
		if(Sec >= 60){
			Sec = 0;
			++Min;
			if(Min >= 60){
				Min = 0;
				++Hour;
				if(Hour >= 24){
					Hour = 0;
				}
			}
		}
	}
}

void main(){
	
	LCD_Init();
	Timer0Init();
	LCD_ShowString(1, 1, "Clock:");
	LCD_ShowString(2, 3, ":");
	LCD_ShowString(2, 6, ":");
	while(1){
		LCD_ShowNum(2, 1, Hour, 2);
		LCD_ShowNum(2, 4, Min, 2);
		LCD_ShowNum(2, 7, Sec, 2);
	}
}